﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace DB_QLSV.BusinessClassLibrary
{
    public class NganhBUS
    {
        private static QLSVDataContext db = new QLSVDataContext();
        public static bool ThemNganh(Nganh Nganh)
        {
            try
            {
                db.Nganhs.InsertOnSubmit(Nganh);
                db.SubmitChanges();
            }
            catch
            {
                //conflict primary key - the item is exist
                return false;
            }
            return true;
        }
        public static bool XoaNganh(string idNganh)
        {
            try
            {
                Nganh old = db.Nganhs.Single(kh => kh.masonganh == idNganh);
                db.Nganhs.DeleteOnSubmit(old);
                db.SubmitChanges();
            }
            catch
            {
                // the item is not exist
                return false;
            }
            return true;
        }
        public static bool CapNhatNganhHoc(string id, Nganh nganh)
        {
            try
            {
                Nganh old = db.Nganhs.Single(kh => kh.masonganh == id);
                old.tennganh = nganh.tennganh;
                old.khoa = nganh.khoa;
                db.SubmitChanges();
            }
            catch
            {
                // the item is not exist
                return false;
            }
            return true;
        }
        public static List<Nganh> LayDanhSach()
        {
            return db.Nganhs.ToList();
        }

        public static List<Nganh> LayDanhSachTheoMaNganh(String khoaID)
        {
            List<Nganh> result = new List<Nganh>();
            var list = from kq in db.Nganhs where kq.khoa == khoaID select kq;
            foreach (Nganh item in list)
            {
                result.Add(item);
            }
            if(result.Count > 0)             
                return result;
            return null;
        }
        //get Branch List depend on Faculty
        public static List<Nganh> LayDanhSach(Khoa facultyObject)
        {
            List<Nganh> nganhLst = new List<Nganh>();
            var lst = from rs in db.Nganhs where rs.khoa == facultyObject.masokhoa select rs;    
            foreach(Nganh item in lst)
            {
                nganhLst.Add(item);
            }
            if (lst.Count() > 0)
                return nganhLst;
            return null;
        }
    }
}
